package com.baosight.risk.api.xtdc;

import java.util.List;

import com.baosight.risk.base.service.BaseService;
import com.baosight.risk.service.xtdc.entity.XtdcAttach;

public interface XtdcAttachService extends BaseService<XtdcAttach> {

    /**
     * 根据id查询文件
     *
     * @param id 主键id
     * @return 文件
     */
    XtdcAttach selectById(String id);

    /**
     * 根据ids查询文件
     *
     * @param ids 主键id
     * @return 文件集合
     */
    List<XtdcAttach> selectByIds(List<String> ids);

    /**
     * 根据ids查询文件
     *
     * @param field 查询条件
     * @return 文件集合
     */
    List<XtdcAttach> selectField(String field);

    /**
     * 根据业务id查询附件
     *
     * @param sourceGuid 业务id
     */
    List<XtdcAttach> selectBySource(String sourceGuid);

    /**
     * 根据业务id和来源id查询附件
     *
     * @param sourceGuid  业务id
     * @param sourceModel 来源id
     */
    List<XtdcAttach> selectBySourceAndModel(String sourceGuid, String sourceModel);

    /**
     * 根据业务id和来源id删除附件
     *
     * @param sourceGuid  业务id
     * @param sourceModel 来源id
     */
    Integer deleteFilesBySourceAndModel(String sourceGuid, String sourceModel);

    /**
     * 根据ids删除文件
     *
     * @param ids 主键id
     */
    Integer deleteByIds(List<String> ids);

    /**
     * 根据ids删除物理文件
     *
     * @param ids 主键id
     */
    Integer deleteFilesByIds(List<String> ids);

    Integer deleteResourceByIds(List<String> ids);

    Integer deleteById(String teamId, String fileId);

    /**
     * 查询汇总的披露报告附件
     */
    List<XtdcAttach> selectReport(XtdcAttach file,String manageCompCode);
    
    void copyAttach(String sourceGuid, String sourceModel,String targetSourceGuid, String targetSourceModel) throws Exception;

}
